//反转整数 执行时间：92ms
Number.prototype.reverse = function () {
    var num = this < 0 ? -this : +this;
    var temp, resultStr = '';
    while (num >= 10) {
        temp = num % 10;
        num = Math.floor(num / 10);
        resultStr = resultStr.concat(temp)
    }
    resultStr = resultStr.concat(num);
    return this < 0 ? -Number(resultStr) : Number(resultStr)
}

//判断是否是回文数 runtime：284ms
Number.prototype.isPalindrome = function () {
    if (this < 0) {
        return false;
    }
    var str = String(this);
    var tempStr = ''
    for (let i = str.length - 1; i >= 0; i--) {
        tempStr = tempStr.concat(str.charAt(i))
    }
    return tempStr == str
}


/*
*
* 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
* 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢？
* 注意：给定 n 是一个正整数。
*
* 执行用时: 64 ms, 在Climbing Stairs的JavaScript提交中击败了90.34% 的用户
* */
Number.prototype.climbStairs = function () {
    if (this === 0) {
        return 1
    }
    var arr = [];
    for (var i = 0; i < this; i++) {
        if (i > 1) {
            arr.push(arr[i - 2] + arr[i - 1])
        }
        if (i == 0) {
            arr.push(1)
        }
        if (i == 1) {
            arr.push(2)
        }
    }
    return arr[this - 1]
}

